package cn.lrwjz.androidguide.ui;

import android.graphics.Color;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import cn.lrwjz.androidguide.R;

public class SnackbarActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_snackbar);

        // 设置工具栏
        MaterialToolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("Snackbar 示例");
        }

        // 设置基础 Snackbar 按钮点击事件
        findViewById(R.id.btnBasicSnackbar).setOnClickListener(v -> {
            Snackbar.make(v, "这是一个基础的 Snackbar", Snackbar.LENGTH_SHORT)
                    .show();
        });

        // 设置带操作的 Snackbar 按钮点击事件
        findViewById(R.id.btnActionSnackbar).setOnClickListener(v -> {
            Snackbar.make(v, "这是一个带操作的 Snackbar", Snackbar.LENGTH_LONG)
                    .setAction("撤销", view -> 
                        Toast.makeText(this, "点击了撤销", Toast.LENGTH_SHORT).show())
                    .setActionTextColor(Color.YELLOW)
                    .show();
        });

        // 设置无限时长的 Snackbar 按钮点击事件
        findViewById(R.id.btnIndefiniteSnackbar).setOnClickListener(v -> {
            Snackbar snackbar = Snackbar.make(v, "这是一个无限时长的 Snackbar", 
                    Snackbar.LENGTH_INDEFINITE);
            snackbar.setAction("关闭", view -> snackbar.dismiss());
            snackbar.show();
        });

        // 设置 FAB 点击事件
        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(v -> {
            // 创建一个带自定义样式的 Snackbar
            Snackbar snackbar = Snackbar.make(v, "这是一个自定义样式的 Snackbar", 
                    Snackbar.LENGTH_LONG);
            snackbar.setBackgroundTint(getResources().getColor(R.color.purple_500, null));
            snackbar.setTextColor(Color.WHITE);
            snackbar.setActionTextColor(Color.YELLOW);
            snackbar.setAction("确定", view -> snackbar.dismiss());
            snackbar.show();
        });
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
} 